The present invention relates generally to a cassette for containing a magnetic tape. More specifically, the present invention relates to a cassette (i.e., cartridge) which contains a magnetic tape and a non-volatile semiconductor memory with the semiconductor memory storing either the same data as that on the tape or at least data sufficient to recover from a mechanical failure in the drive.
As is well known, magnetic tape cassettes have been extensively used for storing data in a data processing system. The tape cassette is used in association with a data recording/reproducing device which is interconnected with a host computer to store data required by the host computer perhaps in a later processing operation. The data is magnetically written onto the tape in serial fashion on what could be a plurality of such data tracks in one tape cartridge. The serialization of the data onto the tape is generally much slower than the data transfer in the host computer. It is common practice to employ an electronic data buffer between intermediate data units such as the host computer and the recording and reproducing apparatus for enhancing data exchanges between the units. It has been found particularly advantageous to provide an electronic buffer between an electromechanical data processing device and a completely electronic data processing unit. This is an example of, for instance, a magnetic tape drive coupled to a central processing unit including the host computer. The idea is to mask or hide the relatively slow electromechanical device action from the electronic data processing unit.
This has led to the practice of first storing all of the data for the magnetic tape device onto a buffer and then transferring the data at a later time or at the leisurely operation of the tape device to the magnetic tape. The electronic data buffer is interposed between the CPU and the magnetic tape drive. The buffer memory could be shared by a plurality of the tape drives such that the number of buffer storage segments of the buffer is less than the number of tape drives. Then there became a problem where the volatility of the data in the buffer caused a loss of data when the power was interrupted in the CPU. Non-volatile read/write memory was then provided as the buffer unit wherein the data was permanently stored in the non-volatile memory until further action could be taken to either write the data from the non-volatile memory onto the tape or to continue action of reading the data from the magnetic tape to the non-volatile memory. However, there are problems that current buffer tape drives cannot handle even with an intervening non-volatile data buffer. It is difficult in any intermediate buffer system to ensure the data is safely on the tape cartridge or that the data has been safely removed from the cartridge and can still be accessed by the CPU.
It is, therefore, an object of the present invention to provide a method and apparatus for providing a tape cassette which includes the magnetic tape and a non-volatile read/write memory on the cartridge itself. The non-volatile read/write semiconductor memory accepts the data from the CPU and then either transmits the data from the non-volatile memory to the tape drive or stores sufficient data as a backup to accomplish an eventual transfer of the data by the tape drive system to the tape.
Prior to the present invention, tape cassettes or cartridges having non-volatile memory packages mounted onto the cartridges stored only status data of the tape cartridge for usage by the tape drive to assess the value or the placement of the data. For instance, U.S. Pat. No. 5,606,467, issued on Feb. 25, 1997 to H. Hirata, and entitled, xe2x80x9cApparatus For Continuously Recording and Reproducing of Data From a Magnetic Tape Cassette Comprising A Semiconductor Memoryxe2x80x9d, discloses a tape drive which includes a semiconductor memory that outputs signals reproduced from the semiconductor memory for providing a continuation of the audio sounds such as music when the magnetic tape is in a reversal mode or is switching between channels. The semiconductor memory stores a particular signal which is generally not the same as the data stored on the magnetic tape. The purpose is not to provide safety in the storage of the data such as is a requirement in a CPU but to provide a continuous operation without a hesitation.
It is, therefore, another object of the present invention to provide a method and apparatus for overcoming any data transfer problems in a data processing unit that can be caused by mechanical motion problems in the tape drive itself.
U.S. Pat. No. 4,338,644, issued on Jul. 6, 1982 to T. C. J. L. Staar and entitled, xe2x80x9cMagnetic Tape Cassettes Provided With Memory Circuits For Storing Informationxe2x80x9d discloses the use of electronic memories including semiconductor circuits mounted in a cassette housing for storing data relating to the media stored in the housing. The semiconductor memory circuits represent the status of the memory circuits, the information as to the media contained within the cassette, such as text information identifying the cassette, its length, its magnetic bias and equalization value, or the titles of the recordings on the tape in the form of an index or listing. The semiconductor memory can accept rating signals that represent information which changes or which the user may desire to change such as the instantaneous position of the tape, the location of different programs recorded on the media, or the data fields recorded on the media. Thus, in the xe2x80x98644xe2x80x99 patent, the semiconductor memory only stores information pertaining to the present status of the media and the cassette or to control the operation of the recording device when the cassette is installed into that device. There is no showing in the xe2x80x98644xe2x80x99 patent, and which is required in a data unit, of a semiconductor memory associated with the cassette that ensures that the data is guaranteed to be on the tape. There is no showing in the xe2x80x98644xe2x80x99 patent of the use of a semiconductor memory in a media cartridge that can ensure to a host computer that the data is correctly recorded on the media, or will correctly be recorded on the media, or that the data has been transferred from the media to a separate buffer device.
U.S. Pat. No. 5,899,576 issued on May 4, 1999 to K. Fukuzawa, and entitled, xe2x80x9cApparatus For Recording And Reproducing Data On And From A Storage Device Having A Plurality Of Kinds Of Storage Media Integrally Provided Thereinxe2x80x9d, discloses a method of copying data from both a magnetic tape and a non-volatile memory on the tape cassette to the recording apparatus. The data in the non-volatile memory includes information of the content of the recorded data on the tape and does not contain information about the guarantee of having the required data on the tape.
U.S. Pat. No. 5,784,227, issued on Jul. 21, 1998 to H. Kitamura, et al, and entitled, xe2x80x9cTape Cassette Mounted With IC Memory Package and IC Connecting System For The Tape Cassettexe2x80x9d and a Japanese abstract of application JP07314675, filed on Nov. 8, 1995 by Y. Takayama, et al, and entitled, xe2x80x9cData Recording And Reproducing Devicexe2x80x9d both disclose methods of interfacing a tape cassette including a non-volatile memory to a drive and do not disclose usages of the data in the non-volatile memory to solve streaming data drive problems.
In the preferred embodiments of the present invention, a data processing system having a host central processing unit connected to at least a tape drive storage device which includes a non-volatile semiconductor memory located on the tape cartridge storing either a portion of the same data as that to be written to the tape or at least control data sufficient to recover from a delaying tape drive operation or from a mechanical failure in the tape drive thereby permitting signaling to the host central processing unit an assurance that the data transferring by the host will be correctly written onto the tape or at least correctly stored. The host data can be directly transferred to the cartridge memory if the cartridge memory is fast enough and large enough to handle the transfer. An intermediate high speed non-volatile memory in the drive is necessary if the cartridge memory is too slow to handle the direct transfer or too small to handle the data transferred by the CPU. The cartridge memory then will contain command data sufficient to control the transfer of the data from the non-volatile drive memory to the tape. Thus the CPU can be assured that the host data sent to the tape drive will be preserved irrespective of any tape drive failure or delaying motion.
In accordance with the present invention, method and apparatus are provided for hiding mechanical motion in a tape drive which can cause delays in the transfer of data to an attached CPU or from a CPU by storing the control information and data in a non-volatile memory located in the magnetic tape cartridge. The non-volatile memory on the magnetic tape cartridge is used as a buffer to store the control information and the data to avoid backhitch or other mechanical motion problems. The invention specifically is to the data stored in the non-volatile storage device that is physically a part of the media cartridge data that is useful in association with a CPU. The non-volatile storage device can be used to hold information about that specific media cartridge, the media and the cartridge, and the data on the media.
Accordingly, one of the principle objects of this invention is to overcome the disadvantage of conventional cassettes containing information for data processing equipment by providing a semiconductor non-volatile memory associated with the cassette that ensures that the data in the cassette is prepared to be safely stored onto the tape cartridge. The control information of data useful to the host processor is stored in a non-volatile memory such as a semiconductor memory attached to the media tape cartridge. The non-volatile memory on the cartridge acts as a buffer to store control information and data, to avoid backhitch tape stoppage or other mechanical motion problems. After the control information is written to the cartridge media, subsequent host data sent from the host is stored in the buffers associated with the cartridge drive units. When the tape drive is resynchronized from the backhitch or a mechanical motion error, the control information is first written to the media from the cartridge memory and the host data is then written from the buffer to the media. Thus, the data transfer from the host processor is not affected by the mechanical motion situations encountered in the drive units. The non-volatile memory is electrically alterable so that the data can be changed to represent the present information of the cartridge, its associated drive unit, the buffer units temporarily storing the data, and the host processing unit.
In many tape device applications for use to transfer data to or from a central processing unit, in order to ensure that the data is guaranteed to be on tape, the tape drive buffer must be emptied frequently. This ensures a reliable checkpoint but at a lowering of the data transfer performance. Non-volatile tape buffer memories are now required to be larger requiring longer backhitches (back or reverse drive motions) to ensure the correct data transfer. As a result, performance suffers.
This invention is directed to the use of non-volatile semiconductor memory located on the cartridge itself to solve this problem. If there is a high speed interface to the non-volatile cartridge memory, then the data is directly written to the non-volatile cartridge memory when a synchronize buffer command is received from the CPU. Interlocks like a unique key, append point, and time storage could be used to ensure format integrity. As soon as all the data is written to the non-volatile memory on the cartridge, the system application could resume command processing which could typically be more transfer of data to the tape cassette or tape cartridge.
The second aspect of the invention is related to the use of a low speed interface to the non-volatile memory on the cassette cartridge. A non-volatile high-speed drive memory is used and must be capable of storing all of the tape cassette data. When a synchronize of the buffer command is requested by the CPU, all of the data is written to the non-volatile drive memory. Interlocks like a unique key, append point, and time stamp might be used to ensure format integrity. Once the data is all written to the drive non-volatile memory, the command processing application is resumed. If a permanent write error or temporary power loss occurs before the data that is located in the non-volatile drive memory could be written successfully to the tape medium in the cassette, the data is directly written to the non-volatile memory in the cassette. In the case of a permanent write error, the data would be written to the cartridge non-volatile memory before reporting the permanent error. In the case of a power loss, the data would be written to the non-volatile cartridge memory before unloading the tape. This alternative aspect of the invention simplifies tape error recovery, since the data would not have to be recovered out of the non-volatile drive buffer. After the control information is written to the cartridge memory, subsequent host data sent from the host CPU is stored in the tape drive buffers. When the tape drive is resynchronzied from the backhitch or other mechanical motion, the control information is first written to the magnetic tape from the cartridge memory. The host data is then written from the tape drive buffer directly to the tape media. Thus, the data transfer from the host CPU is not affected by the mechanical motion problem encountered in the tape drive.
The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings.